package com.xue.singleton;

public class SingleTon {
    //成员变量
    private String goodName;
    private String goodPrice;
    // 行为方法
    public void doCashing(){
        //
    }
    /*
    * 定义为单例模式类
    * 1.定义一个静态的单例模式类类型的成员变量
    *      (成员变量有默认值，为null。局部变量没有默认值，局部变量定义完，使用之前必须初始化)
    *     private static SingleTon singleTon;
    * 2.所有的构造方法私有化
    *     private SingleTon(){}
    * 3.提供一个获取单例模式类的实例对象的唯一的方法入口（静态方法）；
    *
    *     public static SingleTon getSingleTonInstance(){
    *
    *     (成员变量有默认值，为null。
    *      局部变量没有默认值，局部变量定义完，使用之前必须初始化
    *       所以先if判定这个值是不是null，然后再用，否则遇到null会报一系列问题  )
    *
        //判断返回的静态变量singleTon的默认值是否为null（是否进行初始化）
           if (singleTon==null){
            //第一次使用，初始化，创建一个实例对象
            singleTon=new SingleTon();
             }
           return singleTon;
           }
     * */
    private static SingleTon singleTon;

    private SingleTon(){}

    public static SingleTon getSingleTonInstance(){
        //判断返回的静态变量singleTon的默认值是否为null（是否进行初始化）
        if (singleTon==null){
            //第一次使用，初始化，创建一个实例对象
            singleTon=new SingleTon();
         }
        return singleTon;
    }
}